SOA

Ориентираната към услуги архитектура (на английски: Service-oriented architecture – SOA) е начин за асемблиране на софтуерни приложения, инженеринг и бизнес процеси чрез свързване на софтуерни услуги. Програмистите разработват тези услуги използвайки традиционни езици като Java, C, C++, C#, Visual Basic, COBOL или PHP. Ориентираната към услуги архитектура представлява начин на дизайн на софтуер, при който услуги се предоставят на други компоненти, чрез портове за комуникация в мрежата. Основните принципи на Ориентираната към услуги архитектура са независими от конкретен доставчик, продукт или технология.[1] Услугата е малка част преодставяща функционалност, която може да се използва от разстояние, да се използва и да се обновява независимо от останалите.

Една услуга има четири свойства според една от многото дефиниции на SOA:[2]

  1. Услугата представлява бизнес активност със специален изход/резултат.
  2. Услугата е самостоятелна, самосъдържаща се.
  3. Услугата е черна кутия за ползвателите.
  4. Услугата може да се състои от други скрити отдолу услуги.[3]

Различни услуги могат да се използват заедно, за да се предостави функционалност на голямо софтуерно приложение.[4] Дефиницията на Ориентираната към услуги архитектура е модуларна програма още от 70-те години на миналия век. Ориентираната към услуги архитектура е свързана не толкова с правенето на модуларно приложение, колкото с как да съставим приложение чрез интеграция на отдалечени, отделно поддържащи се и отделно инсталирани компоненти. Това се предлага от технологии и стандарти, които правят комуникацията между отделните компоненти в мрежата лесна, особено в IP адресирана мрежа.

  1. Chapter 1: Service Oriented Architecture (SOA) // msdn.microsoft.com. Посетен на 21 септември 2016.
  2. www.opengroup.org, архив на оригинала от 3 ноември 2017, https://web.archive.org/web/20171103180220/http://opengroup.org/standards/soa, посетен на 3 февруари 2017 
  3. What Is SOA? // www.opengroup.org. Посетен на 21 септември 2016.
  4. Velte, Anthony T. Cloud Computing: A Practical Approach. McGraw Hill, 2010. ISBN 978-0-07-162694-1.

Developed by StudentB